<?php
/**
 * IndexController
 * 
 * @author
 * @version 
 */
require_once 'Zend/Controller/Action.php';
class IndexController extends Thaind_Controller_Action
{
	var $_arrParam;
    public function init()
    {

//    	Truyá»�n tham sá»‘ ra view

    	$this->_arrParam = $this->_request->getParams();
    	$this->view->arrParam = $this->_arrParam;
    }

    public function preDispatch(){
    	$auth = Thaind_Auth_Admin::getInstance();
    	if (!$auth->hasIdentity() && $this->_arrParam['action'] != "login") {
    		$this->_arrParam['action'] = 'login';
			$this->_forward('login','index','default',$this->_arrParam);
    	}
		$template_path = TEMPLATE_PATH . "/default/default";
		$this->loadTemplate($template_path,'template.ini','template');
    	
    }
    
    public function indexAction(){
    }
    public function loginAction(){
    
//    	Load model và form sử dụng trong action

    	Zend_Loader::loadClass("Default_Forms_LoginForm");
    	Zend_Loader::loadClass("Default_Models_Mongo_UserModel");
    	Zend_Loader::loadClass("Default_Models_Mongo_LoginModel");
    	
//    	Chọn layout cho trang login

		$template_path = TEMPLATE_PATH . "/default/default";
		$this->loadTemplate($template_path,'template.ini','login');
		
//		Khai báo biến

		$form = new Default_Forms_LoginForm();
		$user_model = new Default_Models_Mongo_UserModel();
		$login_model = new Default_Models_Mongo_LoginModel();
//		Xử lý khi user đăng nhập

		if ($this->_request->isPost()){
			if ($form->isValid($this->_arrParam)){
				$data = $form->getValues();
				$user_info = $user_model->getUserInfoByUsername($data['username']);
				if ($user_info){
					$data['salt'] = $user_info->salt;
					if ($login_model->login($data)){
						$this->view->headMeta()->appendHttpEquiv('Refresh','5;URL=' .$_SERVER['REQUEST_URI']);
    					$this->render('login-successful');
					}else{
						$this->view->error_message = "Đăng nhập không thành công";
					}
				}else{
					$this->view->error_message = "Tài khoản không tồn tại";
				}
			}
		}
//		Truyền biến ra view

		$this->view->form = $form;
    }
	public function logoutAction(){
		$auth = Thaind_Auth_Admin::getInstance();
		$auth->clearIdentity();
   		$this->_redirect('/');
	}
}
